/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.settlement.entity.customersettlement;

import org.hibernate.validator.constraints.Length;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 客户结算单Entity
 * @author Kilo
 * @version 2021-03-10
 */
@Table(name="t_customer_settlement_payment", alias="a", columns={
		@Column(name="customer_settlement_payment_id", attrName="customerSettlementPaymentId", label="客户结算单收款ID", isPK=true),
		@Column(name="car_id", attrName="carId", label="车辆"),
		@Column(name="frame_number", attrName="frameNumber", label="车架号"),
		@Column(name="payment_code", attrName="paymentCode", label="收款单号"),
		@Column(name="expense_item", attrName="expenseItem", label="费用项目"),
		@Column(name="actual_amount", attrName="actualAmount", label="实收金额"),
		@Column(name="if_flag", attrName="ifFlag", label="是否是核销预收款"),
		@Column(name="customer_settlement_id", attrName="customerSettlementId.customerSettlementId", label="客户结算单ID"),
	}, orderBy="a.customer_settlement_payment_id ASC"
)
public class CustomerSettlementPayment extends DataEntity<CustomerSettlementPayment> {
	
	private static final long serialVersionUID = 1L;
	private String customerSettlementPaymentId;		// 客户结算单收款ID
	private String carId;		// 车辆
	private String frameNumber;		// 车架号
	private String paymentCode;		// 收款单号
	private String expenseItem;		// 费用项目
	private Double actualAmount;		// 实收金额
	private String ifFlag;		// 是否是核销预收款
	private CustomerSettlement customerSettlementId;		// 客户结算单ID 父类
	
	public CustomerSettlementPayment() {
		this(null);
	}


	public CustomerSettlementPayment(CustomerSettlement customerSettlementId){
		this.customerSettlementId = customerSettlementId;
	}
	
	public String getCustomerSettlementPaymentId() {
		return customerSettlementPaymentId;
	}

	public void setCustomerSettlementPaymentId(String customerSettlementPaymentId) {
		this.customerSettlementPaymentId = customerSettlementPaymentId;
	}
	
	@Length(min=0, max=64, message="车辆长度不能超过 64 个字符")
	public String getCarId() {
		return carId;
	}

	public void setCarId(String carId) {
		this.carId = carId;
	}
	
	@Length(min=0, max=100, message="车架号长度不能超过 100 个字符")
	public String getFrameNumber() {
		return frameNumber;
	}

	public void setFrameNumber(String frameNumber) {
		this.frameNumber = frameNumber;
	}
	
	@Length(min=0, max=100, message="收款单号长度不能超过 100 个字符")
	public String getPaymentCode() {
		return paymentCode;
	}

	public void setPaymentCode(String paymentCode) {
		this.paymentCode = paymentCode;
	}
	
	@Length(min=0, max=2, message="费用项目长度不能超过 2 个字符")
	public String getExpenseItem() {
		return expenseItem;
	}

	public void setExpenseItem(String expenseItem) {
		this.expenseItem = expenseItem;
	}
	
	public Double getActualAmount() {
		return actualAmount;
	}

	public void setActualAmount(Double actualAmount) {
		this.actualAmount = actualAmount;
	}
	
	@Length(min=0, max=2, message="是否是核销预收款长度不能超过 2 个字符")
	public String getIfFlag() {
		return ifFlag;
	}

	public void setIfFlag(String ifFlag) {
		this.ifFlag = ifFlag;
	}
	
	public CustomerSettlement getCustomerSettlementId() {
		return customerSettlementId;
	}

	public void setCustomerSettlementId(CustomerSettlement customerSettlementId) {
		this.customerSettlementId = customerSettlementId;
	}
	
}